package health_system.health_system.dto;

import health_system.health_system.entity.MomentMedia;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MomentMediaDTO {
    private Long id;
    private Long momentId;
    private String mediaUrl;
    private MomentMedia.MediaType mediaType;
    private Integer orderIndex;
    private String thumbnailUrl;
    private Integer duration;
    private LocalDateTime createdAt;
    private LocalDateTime updatedAt;
    
    public static MomentMediaDTO fromEntity(MomentMedia media) {
        if (media == null) {
            return null;
        }
        
        MomentMediaDTO dto = new MomentMediaDTO();
        dto.setId(media.getId());
        
        if (media.getMoment() != null) {
            dto.setMomentId(media.getMoment().getId());
        }
        
        dto.setMediaUrl(media.getMediaUrl());
        dto.setMediaType(media.getMediaType());
        dto.setOrderIndex(media.getOrderIndex());
        dto.setThumbnailUrl(media.getThumbnailUrl());
        dto.setDuration(media.getDuration());
        dto.setCreatedAt(media.getCreatedAt());
        dto.setUpdatedAt(media.getUpdatedAt());
        
        return dto;
    }
} 